home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / edit / stevi69x.zip / STEVIE.MAN < prev    next >
Text File  |  1990-04-24  |  30KB  |  1,229 lines

  1.  
  2.  
  3.  
  4.            STEVIE - An Aspiring VI Clone
  5.  
  6.            User Reference - 3.69a
  7.  
  8.             Tony Andrews
  9.  
  10.  
  11.  
  12.  
  13. 1.  _O_v_e_r_v_i_e_w
  14.  
  15. STEVIE is an editor designed to mimic the interface  of  the
  16. UNIX  editor  'vi'.  The name (ST Editor for VI Enthusiasts)
  17. comes from the fact that the editor was  first    written  for
  18. the  Atari ST. The current version also supports UNIX, Minix
  19. (ST), MS-DOS, and OS/2, but I've left the  name  intact  for
  20. now.
  21.  
  22. This program is the result of many late  nights  of  hacking
  23. over  the  last  couple  of  years.   The  first version was
  24. written by Tim Thompson and posted to USENET. From there,  I
  25. reworked  the  data  structures  completely,  added  LOTS of
  26. features, and generally improved the overall performance  in
  27. the process.
  28.  
  29. I've labelled STEVIE an 'aspiring' vi clone as a warning  to
  30. those  who  may expect too much. On the whole, the editor is
  31. pretty complete.  Nearly all of the visual mode commands are
  32. supported.   And several of the more important 'ex' commands
  33. are supported as well.    I've tried hard to capture the    feel
  34. of vi by getting the little things right.  Making lines wrap
  35. correctly, supporting true operators, and even    getting  the
  36. cursor    to  land on the right place for tabs are all a pain,
  37. but really help make the editor feel right.  I've  tried  to
  38. resist    the  temptation  to deviate from the behavior of vi,
  39. even where I disagree with the original design.
  40.  
  41. The biggest problem remaining has to do with the  fact    that
  42. the  edit  buffer is maintained entirely in memory, limiting
  43. the size of files that can be edited in  some  environments.
  44. Other  missing    features  include  named buffers and macros.
  45. Performance is generally  reasonable,  although  the  screen
  46. update code could be more efficient.  This is generally only
  47. visible on fairly slow systems.
  48.  
  49. STEVIE    may  be  freely  distributed.    The   source   isn't
  50. copyrighted  or  restricted  in  any  way.  If    you pass the
  51. program along, please include all the documentation and,  if
  52. practical, the source as well. I'm not fanatical about this,
  53. but I tried to make STEVIE fairly portable and I'd  like  to
  54. see as many people have access to the source as possible.
  55.  
  56. The remainder of this document describes  the  operation  of
  57. the  editor.   This  is  intended  as  a reference for users
  58. already familiar with the real vi editor.
  59.  
  60.  
  61.  
  62.             - 1 -
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. STEVIE                          User Reference
  71.  
  72.  
  73.  
  74. 2.  _S_t_a_r_t_i_n_g__t_h_e__E_d_i_t_o_r
  75.  
  76. The following command line forms are supported:
  77.  
  78. stevie [file ...]   Edit the specified file(s)
  79.  
  80. stevie -t tag        Start at the location of the given tag
  81.  
  82. stevie + file        Edit file starting at end
  83.  
  84. stevie +n file        Edit file starting a line number 'n'
  85.  
  86. stevie +/pat file   Edit file starting at pattern 'pat'
  87.  
  88. If multiple files are given on the command line  (using  the
  89. first  form),  the  ":n" command goes to the next file, ":N"
  90. goes backward in the list, and ":rew" can be used to  rewind
  91. back to the start of the file list.
  92.  
  93.  
  94. 3.  _S_e_t__C_o_m_m_a_n_d__O_p_t_i_o_n_s
  95.  
  96. The ":set" command works as usual to  set  parameters.    Each
  97. parameter  has    a  long  and  an abbreviated name, either of
  98. which may be used. Boolean parameters are set as in:
  99.  
  100.      set showmatch
  101.  
  102. or cleared by:
  103.  
  104.      set noshowmatch
  105.  
  106. Numeric parameters are set as in:
  107.  
  108.      set scroll=5
  109.  
  110. Several parameters may be set with a single command:
  111.  
  112.      set novb sm report=1
  113.  
  114. To see the status of all parameters use ":set  all".  Typing
  115. ":set"    with  no  arguments  will show only those parameters
  116. that have been changed.   The  supported  parameters,  their
  117. names,    abbreviations,    defaults, and descriptions are shown
  118. below:
  119.  
  120. autoindent  Short: ai, Default: noai, Type: Boolean
  121.         When in insert mode, start new lines at the same
  122.         column  as    the  prior  line. Unlike vi, you can
  123.         backspace over the indentation.
  124.  
  125.  
  126.  
  127.  
  128.             - 2 -
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. STEVIE                          User Reference
  137.  
  138.  
  139.  
  140. backup        Short: bk, Default: nobk, Type: Boolean
  141.         Leave a backup on  file  writes.   (During    file
  142.         writes,  a    backup    is  always  kept  for safety
  143.         anyway, until the write is completed.   At    that
  144.         point, the 'backup' parameter determines whether
  145.         the backup file is deleted.)
  146.  
  147. color        Short:  co,  Default:  system-dependent,   Type:
  148.         Numeric
  149.         Change  the  screen  color    (video    attributes).
  150.         There  is  a  system-dependent  mapping  between
  151.         numbers and colors.  (For instance, in MSDOS  we
  152.         use   the    BIOS-type   attributes    for  CGA  or
  153.         monochrome screens in alphanumeric mode.)
  154.  
  155. errorbells  Short: eb, Default: noeb, Type: Boolean
  156.         Ring bell when error messages are shown.
  157.  
  158. ignorecase  Short: ic, Default: noic, Type: Boolean
  159.         Ignore case in string searches.
  160.  
  161. lines        Short: lines, Default: lines=25, Type: Numeric
  162.         Number of physical    lines  on  the    screen.  The
  163.         default  value  and  possible settings depend on
  164.         the host machine.  The default value  is  25  on
  165.         most systems.
  166.  
  167. list        Short: list, Default: nolist, Type: Boolean
  168.         Show tabs and newlines graphically.
  169.  
  170. modelines   Short: ml, Default: noml, Type: Boolean
  171.         Enable processing of modelines in files.
  172.  
  173. number        Short: nu, Default: nonu, Type: Boolean
  174.         Display lines on  the  screen  with  their    line
  175.         numbers.
  176.  
  177. report        Short: report, Default: report=5, Type: Numeric
  178.         Minimum number of lines to report operations on.
  179.  
  180. return        Short: cr, Default: cr, Type: Boolean
  181.         End lines with cr-lf when writing files.
  182.  
  183. scroll        Short: scroll, Default: scroll=12, Type: Numeric
  184.         Number of lines to scroll for ^D & ^U.
  185.  
  186. showmatch   Short: sm, Default: nosm, Type: Boolean
  187.         When a ), }, or ] is typed, show the matching (,
  188.         {,    or [ if it's on the current screen by moving
  189.         the cursor there briefly.
  190.  
  191.  
  192.  
  193.  
  194.             - 3 -
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. STEVIE                          User Reference
  203.  
  204.  
  205.  
  206. showmode    Short: mo, Default: nomo, Type: Boolean
  207.         Show on status line when in insert mode.
  208.  
  209. tabstop     Short: ts, Default: ts=8, Type: Numeric
  210.         Number of spaces in a tab.
  211.  
  212. tagstack    Short: tg, Default: notg, Type: Boolean
  213.         If set, the tag command :ta is  "stacked";    that
  214.         is, the place from which it was called is pushed
  215.         onto a stack.  A new command ":untag" goes    back
  216.         to that place, and pops the tag stack.
  217.  
  218. terse        Short: terse, Default: noterse, Type: Boolean
  219.         This  option  is  currently  ignored.    It   is
  220.         provided only for compatibility with vi.
  221.  
  222. tildeop     Short: to, Default: noto, Type: Boolean
  223.         If set, tilde is an operator.  Otherwise,  tilde
  224.         acts as normal.
  225.  
  226. wrapscan    Short: ws, Default: ws, Type: Boolean
  227.         String searches wrap  around  the  ends  of  the
  228.         file.
  229.  
  230. vbell        Short: vb, Default: vb, Type: Boolean
  231.         Use  a  visual  bell,  if  possible.  (novb  for
  232.         audible bell)
  233.  
  234. The EXINIT environment variable can be used  to  modify  the
  235. default values on startup as in:
  236.  
  237.      setenv EXINIT="set sm ts=4"
  238.  
  239. In environments (e.g. OS/2 or TOS) where lines are  normally
  240. terminated  by CR-LF, the 'return' parameter allows files to
  241. be written with only a LF terminator (if  the  parameter  is
  242. cleared).  This parameter is ignored on UNIX systems.
  243.  
  244. The 'lines' parameter tells the editor how many lines  there
  245. are  on  the  screen.  This is useful on systems like the ST
  246. (or OS/2 machines with an EGA adapter) where various  screen
  247. resolutions  may  be  used.  By using the 'lines' parameter,
  248. different screen sizes can be easily handled.
  249.  
  250.  
  251. 4.  _C_o_l_o_n__C_o_m_m_a_n_d_s
  252.  
  253. Several of the normal 'vi' colon commands are  supported  by
  254. STEVIE.   Some    commands  may  be  preceded  by a line range
  255. specification.    For commands that accept a range  of  lines,
  256. the following address forms are supported:
  257.  
  258.  
  259.  
  260.             - 4 -
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. STEVIE                          User Reference
  269.  
  270.  
  271.  
  272.      addr
  273.      addr + number
  274.      addr - number
  275.  
  276. where 'addr' may be one of the following:
  277.  
  278.      a line number
  279.      a mark (as in 'a or 'b)